// 获取bimface
import request from '../service/service';

/**
 * 请求一个模型（三维模型-BIMFACE接口）
 * @param data {Object} 请求参数
 * @desc "project_name":"径山寺宾馆项目",//必填，项目名
 * @desc "model_name": "" 必填（首页主模型传“径山总模型”，首页的倾斜摄影传“径山倾斜摄影”）
 */
export function getModel(data) {
  return request({
    protocol: 'bim/get_model',
    options: data
  });
}

/**
 * 删除BIMFace模型数据
 */
export function deleteBimface(data) {
  return request({
    protocol: 'bus/bimface/deleteByIds',
    options: data,
    method: 'delete'
  });
}

/**
 * bimface源文件上传
 * @param data {Object} 请求参数
 * @desc "project_name":"径山寺宾馆项目",//必填，项目名
 */
export function bimfaceUpload(data) {
  let url = '?';
  const len = Object.keys(data).length;
  Object.keys(data).forEach((key, index) => {
    if (key === 'file' || !data[key]) return;
    url += `${key}=${data[key]}${index >= len - 1 ? '' : '&'}`;
  });
  return request({
    options: data.file,
    protocol: 'bus/bimface/file/upload' + url,
    method: 'formData',
    requestConfig: {
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
      }
    }
  });
}

/**
 * bimface指定外部文件url方式上传
 * @param data {Object} 请求参数
 */
export function bimfaceUrlUpload(data) {
  return request({
    options: data,
    protocol: 'bus/bimface/file/upload/url',
    method: 'get',
  });
}

/**
 * 获取bimface文件列表
 * @param data {Object} 请求参数
 */
export function getBimfaceList(data) {
  return request({
    options: data,
    protocol: 'bus/bimface/file/bim/list',
    method: 'get',
  });
}

/**
 * 获取当前模型的viewToken
 * @param data {Object} 请求参数
 */
export function getViewToken(data) {
  return request({
    options: data,
    protocol: 'bus/bimface/file/getViewToken',
    method: 'get',
  });
}

/**
 * bimface 获取模型批注
 * @param data {Object} 请求参数
 */
export function getBimNoteList(data) {
  return request({
    options: data,
    protocol: 'bus/bim/note/findPage',
    method: 'get',
  });
}

/**
 * bimface 新增模型批注
 * @param data {Object} 请求参数
 */
export function addBimNoteList(data) {
  return request({
    options: data,
    protocol: 'bus/bim/note/create',
    method: 'post',
  });
}

/**
 * bimface 删除模型批注
 * @param data {Object} 请求参数
 */
export function deleteBimNoteList(data) {
  return request({
    protocol: 'bus/bim/note/deleteByIds?ids=' + data.ids,
    method: 'delete',
  });
}

/**
 * bimface 获取标签
 * @param data {Object} 请求参数
 */
export function getBimLabel(data) {
  return request({
    protocol: 'bus/bim/label/findPage',
    options: data,
    method: 'get',
  });
}

/**
 * bimface 修改标签
 * @param data {Object} 请求参数
 */
export function editBimLabel(data) {
  return request({
    protocol: 'bus/bim/label/update',
    options: data,
    method: 'post',
  });
}

/**
 * bimface 新增标签
 * @param data {Object} 请求参数
 */
export function addBimLabel(data) {
  return request({
    protocol: 'bus/bim/label/create',
    options: data,
    method: 'post',
  });
}

/**
 * bimface 删除标签
 * @param data {Object} 请求参数
 */
export function deleteBimLabel(data) {
  return request({
    protocol: 'bus/bim/label/deleteByIds?ids=' + data.ids,
    method: 'delete',
  });
}

/**
 * bimface 新增经纬度弧度等模型设置
 * @param data {Object} 请求参数
 */
export function setBimConfig(data) {
  return request({
    protocol: 'bus/bim/gis/create',
    options: data,
    method: 'post',
  });
}

/**
 * bimface 获取经纬度弧度等模型设置
 * @param data {Object} 请求参数
 */
export function getBimConfig(data) {
  return request({
    protocol: 'bus/bim/gis/findPage',
    options: data,
    method: 'get',
  });
}

/**
 * bimface 编辑经纬度弧度等模型设置
 * @param data {Object} 请求参数
 */
export function editBimConfig(data) {
  return request({
    protocol: 'bus/bim/gis/update',
    options: data,
    method: 'post',
  });
}

/**
 * bimface 源文件下载
 * @param data {Object} 请求参数
 */
export function downLoadBimface(data) {
  return request({
    protocol: 'bus/bimface/file/download',
    options: data,
    method: 'get',
  });
}

/**
 * 获取项目配置
 */
export function getCommonDetail(data) {
  return request({
    protocol: 'bus/common/findById',
    options: data,
    method: 'get',
  });
}

/**
 * 获取bim文件二维码
 */
export function getBimQrCode(data) {
  return request({
    protocol: 'bus/bimface/updateQrCode',
    options: data,
    method: 'get',
  });
}

/**
 * 获取bim文件详情
 */
export function getBimDetails(data) {
  return request({
    protocol: 'bus/bimface/file/findById',
    options: data,
    method: 'get',
  });
}
